Various methods have been developed for streaming multimedia content, such as audio and video, over packet communication networks. “Streaming” in this context means that the client plays the content (i.e., displays the corresponding images and/or generates sound) simultaneously with receiving the media data over the network, although there may be a small lag due to buffering at the client side. The streamed content may be either live or pre-recorded.
If multimedia content is encoded at a bit rate that exceeds the available transmission bandwidth to a given client, the content received by the client will be degraded or possibly unusable. Various solutions have therefore been proposed to enable the data transmission rate to be adjusted to fit the resources, such as bandwidth and processing capabilities, of each client. For example, U.S. Pat. No. 7,444,418, whose disclosure is incorporated herein by reference, describes a method in which the available transmission rate of a downlink channel is estimated by calculating packet round trip times and congestion windows. If the transmission rate at which the multimedia information is encoded is greater than the available transmission rate, the multimedia information is transcoded to conform to the available transmission rate.
Another method for controlled media streaming is described in U.S. Patent Application Publication 2010/0312828, whose disclosure is also incorporated herein by reference. This publication describes a method for data communications in which a server conveys to a client a virtual index file, which identifies multiple sequences of media files available for download to the client. The index file includes a plurality of sequences that contain a given item of streaming content for download to the client at a different, respective data rate for each sequence. A selection is received from the client of a sequence among the plurality of the sequences of the media files. Responsively to the selection, the media files in the sequence are created at the respective data rate and are downloaded to the client.
Scalable Video Coding (SVC) enables the transmission and decoding of partial bit streams to provide video services with lower temporal or spatial resolution or reduced fidelity. SVC has been standardized in Annex G of the H.264/MPEG-4 AVC video compression standard. A useful survey of the features and capabilities of SVC is provided by Schwarz et al., in “Overview of the Scalable Video Coding Extension of the H.264/AVC Standard,” IEEE Transactions on Circuits and Systems for Video Technology 17:9 (2007), pages 1103-1120, which is incorporated herein by reference.